﻿using FlowSequencer.Core.FlowElements;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FlowSequencer.Core.Sequencer
{
    public abstract class Sequencer : ISequencer
    {
        protected Flow inputFlow;
        public Sequencer()
        {
            inputFlow = new Flow();
        }
        public LineStatus InsertLine(Line line)
        {
            //if (!HasTooManyCycles(line)) return LineStatus.TooManyCycles;

            inputFlow.Lines.Add(line);
            return LineStatus.Correct;
        }

        public abstract void ComputeFlow();
        public abstract Flow GetOptimizedFlow();
    }
}
